package Controller.CaixaController;

import javax.swing.JOptionPane;

import DAO.CaixaDAO;
import Entidade.Caixa;
import Model.CaixaModel.CaixaConsultaModel;
import View.CaixaView.CaixaView;
import framework.mvc.GenericController;

public class CaixaConsultaController extends GenericController<Caixa> {
	public CaixaConsultaController() {
		super(new CaixaConsultaModel(), new CaixaDAO());
	}

	public void novo() {
		CaixaView caixaview = new CaixaView();
		caixaview.abrir();
		view.atualizarView();
	}

	public void alterar() {
		view.atualizarModel();
		Caixa caixaSelecionado = ((CaixaConsultaModel) model)
				.getCaixaSelecionado();
		if (caixaSelecionado == null) {
			JOptionPane.showMessageDialog(null,
					"Selecione a Caixa que deseja alterar", "Erro",
					JOptionPane.ERROR_MESSAGE);

		} else {
			CaixaView caixaView = new CaixaView();
			caixaView.getModel().setEntidade(caixaSelecionado);
			caixaView.atualizarView();
			caixaView.abrir();
			view.atualizarView();
		}
	}

	public void excluir() {
		view.atualizarModel();
		Caixa caixaSelecionado = ((CaixaConsultaModel) model)
				.getCaixaSelecionado();
		if (caixaSelecionado == null) {
			JOptionPane.showMessageDialog(null,
					"Selecione o contato que deseja excluir", "Erro",
					JOptionPane.ERROR_MESSAGE);
		} else {
			if (JOptionPane.showConfirmDialog(null,
					"Deseja realmente excluir este Caixa?") == JOptionPane.YES_OPTION) {
				getDao().excluir(caixaSelecionado);
				view.atualizarView();
			}
		}
	}

	public void fechar() {
		view.dispose();
	}
}
